package edu.megatrend.fkn.rsw.ocenjivanje.logika;

import java.util.ArrayList;
import java.util.List;
import edu.megatrend.fkn.rsw.ocenjivanje.beans.Ispunio;
import edu.megatrend.fkn.rsw.ocenjivanje.beans.Obaveza;
import edu.megatrend.fkn.rsw.ocenjivanje.data.DAOcenjivanje;
import edu.megatrend.fkn.rsw.ocenjivanje.data.IBean;

class Ocenjivanje{
	
	public short IzracunajOcenu(String index){
		double zbirOcena=0.0;
		List<Double> ocena = IzracunajPoene(index);
		for(int i=0; i<ocena.size(); i++)
		{
			zbirOcena+=ocena.get(i);
		}
		
		return 0;
	}
	
	private List<Double> IzracunajPoene(String index)
	{
		DAOcenjivanje ocenjivanje = DAOcenjivanje.getInstance();
		List<IBean> listaOb;
		List<IBean> listaIsp = ocenjivanje.getAllBeans(DAOcenjivanje.ISPUNIO_TYPE,"WHERE indeks="+index);
		String nazivOb, idPred;
		List<Double> poeni = new ArrayList<Double>();
		List<Double> maxPoeni = new ArrayList<Double>();
		List<Double> ocena = new ArrayList<Double>();
		for (IBean ispunio : listaIsp){
			nazivOb=((Ispunio)ispunio).getNazivObaveze();
			idPred =((Ispunio)ispunio).getIdPred();
			poeni.add(((Ispunio)ispunio).getBrPoena());
			listaOb = ocenjivanje.getAllBeans(DAOcenjivanje.OBAVEZA_TYPE,"WHERE idPred="+idPred+" AND naziv="+nazivOb);
			maxPoeni.add(  ((Obaveza)listaOb.get(0)).getBrMaxPoena()  );	
		}
		
		for (int i = 0; i<maxPoeni.size() ; i++)
		{
			ocena.add((poeni.get(i)/100)*maxPoeni.get(i));	
		}
		
		
		return ocena;
	}
	

	public static void main (String args []){
		
//		System.out.println( ((Obaveza)bean).getNaziv()+ " " +((Obaveza)bean).getBrMaxPoena());		
	}
}
	
	


